package dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class CriacaoTabelas {

	public static void main(String[] args) throws SQLException {

		Connection con = ConnectionUtil.getConnection();
		try {
			Statement st = con.createStatement();
			st.executeUpdate(
					"CREATE TABLE produto " +
					"(codProduto INTEGER NOT NULL, " +
					"denominacao VARCHAR(200) NOT NULL, " +
					"quantidade INTEGER NOT NULL, " +
					"unidadeMedida VARCHAR(20), " +
					"valor DOUBLE, " +
					"codAlmoxarifado INTEGER NOT NULL, " +
					"PRIMARY KEY(codProduto))"
					);
			
			// Somente para persistir os dados em disco (HSQLDB)
			st.executeUpdate("SHUTDOWN"); 
			System.out.println("tabela 'produto' criada . . .");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			con.close();
		}
		
		con = ConnectionUtil.getConnection();
		try {
			Statement st = con.createStatement();
			st.executeUpdate(
					"CREATE TABLE almoxarifado " +
					"(codAlmoxarifado INTEGER NOT NULL, " +
					"nome VARCHAR(200) NOT NULL, " +
					"PRIMARY KEY(codAlmoxarifado))"
					);
			// Somente para persistir os dados em disco (HSQLDB)
			st.executeUpdate("SHUTDOWN"); 
			System.out.println("tabela 'almoxarifado' criada . . .");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			con.close();
		}	
		
		con = ConnectionUtil.getConnection();
		try {
			Statement st = con.createStatement();
			st.executeUpdate(
					"CREATE TABLE requisicao " +
					"(numero INTEGER NOT NULL, " +
					"nomePessoa VARCHAR(200) NOT NULL, " +
					"dataCadastro TIMESTAMP NOT NULL, "+
					"ano INTEGER NOT NULL, " +
					"tipoRequisicao INTEGER NOT NULL,"+
					"localSaida VARCHAR(200), " +
					"localDestino VARCHAR(200), " +
					"dataSaida TIMESTAMP, "+
					"dataChegadaAoDestino TIMESTAMP, "+
					"descricaoServicoTrabalho VARCHAR(200), " +
					"PRIMARY KEY(numero))"
					);
			// Somente para persistir os dados em disco (HSQLDB)
			st.executeUpdate("SHUTDOWN"); 
			System.out.println("tabela 'requisicao' criada . . .");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			con.close();
		}
		
		con = ConnectionUtil.getConnection();
		try {
			Statement st = con.createStatement();
			st.executeUpdate(
					"CREATE TABLE itemRequisicao " +
					"(codProduto INTEGER NOT NULL, " +
					"numeroRequisicao INTEGER NOT NULL, " +
					"quantidade INTEGER NOT NULL, " +
					"valorInstantaneo DOUBLE NOT NULL)"
					);
			// Somente para persistir os dados em disco (HSQLDB)
			st.executeUpdate("SHUTDOWN"); 
			System.out.println("tabela 'itemRequisicao' criada . . .");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			con.close();
		}
	}

}
